Network devices (such as routers and switches) are often used to forward traffic within a network and/or across networks. In some examples, a network device may employ an operating system that includes a network stack responsible for certain networking tasks involved in forwarding traffic. This network stack may be native to the operating system employed by the network device. Such networking tasks may include Path Minimum Transmission Unit (PMTU) discovery, packet routing, transport-layer functions, PMTU compliance, and/or packet fragmentation.
In some examples, the manufacturer of the network device may build another network stack on and/or over the network stack that is native to the operating system. This other network stack may be proprietary to the manufacturer of the network device. By doing so, the manufacturer may effectively customize and/or fine-tune the innerworkings of the network stack to facilitate and/or ensure certain features or functionality when forwarding traffic. In such examples, the manufacturer may program and/or configure the combined network stack such that certain networking tasks (e.g., PMTU discovery, packet routing, transport-layer functions, PMTU compliance, and/or packet fragmentation) are assigned across and/or shared by the proprietary and native stacks. As packets traverse the combined network stack, these packets may move back and forth between the proprietary and native stacks. To enable the proprietary and native stacks to perform their assigned networking tasks, these packets may need to carry certain metadata that is preserved as they move back and forth.
Unfortunately, traditional configurations of such a combined network stack may lead to the loss of important metadata as traffic traverses and/or is passed from the native stack to the proprietary stack. For example, in a traditional configuration, the native stack may attempt to fragment an outgoing packet into PMTU-compliant segments prior to passing the packet to the proprietary stack. In this traditional configuration, various problematic issues may arise. First, the native stack may be unable to ensure that the packet's metadata is copied to each of the resulting PMTU-compliant segments, thereby potentially leading to traffic delivery failures. Second, in the event that the native stack is able to copy the packet's metadata to each of the resulting PMTU-compliant segments, this copying process may add a significant resource burden or load (in terms of, e.g., both time and/or memory) to the native stack.
The instant disclosure, therefore, identifies and addresses a need for additional and improved systems and methods for supporting PMTU discovery by maintaining metadata integrity across proprietary and native network stacks within network devices.